<template>
  <div class="person">
    <h2>当前求和为：{{ sum }}</h2>
    <button @click="changeSum">点我sum+1</button>
  </div> 
</template>

<script lang="ts" setup name="Person">
  import { ref,onBeforeMount,onMounted,onBeforeUpdate,onUpdated,onBeforeUnmount,onUnmounted } from 'vue';
  // 数据
  let sum = ref(0)
  // 方法
  function changeSum(){
    sum.value += 1
  }

  // vue3最基本的7个钩子
  // 创建,直接合成一个setup
  console.log('创建');
  // 挂载前
  onBeforeMount(()=>{
    console.log('子--挂载前');
  })
  // 挂载完毕
  onMounted(()=>{
    console.log('子--挂载完毕');  
  })
  // 更新前
  onBeforeUpdate(()=>{
    console.log('更新前');
  })
  // 更新完毕
  onUpdated(()=>{
    console.log('更新完毕');
  })
  // 卸载前
  onBeforeUnmount(()=>{
    console.log('卸载前');
  })
  // 卸载完毕
  onUnmounted(()=>{
    console.log('卸载完毕');
  })

  
</script>

<style>
  .person{
    background-color: skyblue;
    box-shadow: 0 0 10px;
    border-radius: 10px;
    padding: 20px;
  }
  button{
    margin: 0 5px;
  }
  ul li{
    font-size: 20px;
  }
</style>